Fix handling of non-nil 'dired-movement-style'
authorEli Zaretskii <eliz@gnu.org>
Thu, 27 Jun 2024 09:42:43 +0000 (12:42 +0300)
committerEli Zaretskii <eliz@gnu.org>
Thu, 27 Jun 2024 09:42:43 +0000 (12:42 +0300)
* lisp/dired.el (dired--move-to-next-line): Treat any non-nil
value of 'dired-movement-style' except 'cycle' as 'bounded'.
(dired-movement-style): Mention this in the doc string.
(Bug#71770)

lisp/dired.el

index 0adf06f471efc829c02d477987e7ae6878ebe55b..baac246dd5e0838f056a25a4f4271d380e34c590 100644 (file)
@@ -511,7 +511,8 @@ Possible non-nil values:
  * `cycle':   when moving from the last/first visible line, cycle back
               to the first/last visible line.
  * `bounded': don't move up/down if the current line is the
-              first/last visible line."
+              first/last visible line.
+Any other non-nil value is treated as `bounded'."
   :type '(choice (const :tag "Move to any line" nil)
                  (const :tag "Cycle through non-empty lines" cycle)
                  (const :tag "Stop on last/first non-empty line" bounded))
@@ -2886,7 +2887,7 @@ is controlled by `dired-movement-style'."
                          (point-max))))
           (setq wrapped t))
          ;; `bounded': go back to the last non-empty line.
-         ((eq dired-movement-style 'bounded)
+         (dired-movement-style ; Either 'bounded or anything else non-nil.
           (while (and (dired-between-files) (not (zerop arg)))
             (funcall jumpfun (- moving-down))
             ;; Point not moving means infinite loop.